﻿
@{
    ViewBag.Title = "ViewArchive";
    Layout = "~/Views/Shared/_LayoutForBUI.cshtml";
    var listColumns = ViewBag.Columns as List<SGArchiveSystem7xDB.T_ArchiveTree>
    ;
    }
    <div>
        <table  id="tbxls" class="table table-bordered">
            <thead class="datagrid-header">
                <tr>
                    <td rowspan="2" align="center">年度</td>
                    @{
                    foreach (var en in listColumns)
                    {
                    <td colspan="4" align="center">@en.AR_NAME</td>
                    }
                    }
                </tr>
                <tr>
                    @{
                    foreach (var en in listColumns)
                    {

                    <td align="center">永久</td>
                    <td align="center">30年</td>
                    <td align="center">10年</td>
                    <td align="center">合计</td>
                    }
                    }
                </tr>
            </thead>
            <tbody>
                @{
                int[] ints = new int[listColumns.Count * 4];
                bool b = false;
                if (ViewBag.ND != null)
                {
                var listND = ViewBag.ND as List
                <string>
                    ;
                    foreach (var nd in listND)
                    {
                    <tr>
                        <td>@nd</td>
                        @{
                        int index = 0;
                        foreach (var en in listColumns)
                        {
                        b = false;
                        var listW = ViewBag.W as List
                        <SGArchiveSystem7xDB.Sql.TongjiNDandLX>
                            ;
                            foreach (var n in listW)
                            {
                            if (en.AR_NAME == n.name && n.year == nd)
                            {
                            <td>@n.y1</td>
                            <td>@n.y2</td>
                            <td>@n.y3</td>
                            <td>@n.count</td>
                            ints[index++] += n.y1;
                            ints[index++] += n.y2;
                            ints[index++] += n.y3;
                            ints[index++] += n.count;
                            b = true;
                            break;
                            }
                            }
                            if (!b)
                            {
                            <td>0</td>
                            <td>0</td>
                            <td>0</td>
                            <td>0</td>
                            ints[index++] += 0;
                            ints[index++] += 0;
                            ints[index++] += 0;
                            ints[index++] += 0;
                            }
                            }
                            }
                    </tr>
                    }
                    }
                    }
            </tbody>
            <thead>
                <tr>
                    <td>合计:</td>
                    @{
                    foreach (var i in ints)
                    {
                    <td>@i.ToString()</td>
                    }
                    }
                </tr>
            </thead>
        </table>
    </div>
    <script>
        var idTmr;
        function getExplorer() {
            var explorer = window.navigator.userAgent;
            //ie
            if (explorer.indexOf("MSIE") >= 0) {
                return 'ie';
            }
            //firefox
            else if (explorer.indexOf("Firefox") >= 0) {
                return 'Firefox';
            }
            //Chrome
            else if (explorer.indexOf("Chrome") >= 0) {
                return 'Chrome';
            }
            //Opera
            else if (explorer.indexOf("Opera") >= 0) {
                return 'Opera';
            }
            //Safari
            else if (explorer.indexOf("Safari") >= 0) {
                return 'Safari';
            }
        }
        function printXLS(tableid) {
            if (getExplorer() == 'ie') {
                var curTbl = document.getElementById(tableid);
                var oXL = new ActiveXObject("Excel.Application");
                var oWB = oXL.Workbooks.Add();
                var xlsheet = oWB.Worksheets(1);
                var sel = document.body.createTextRange();
                sel.moveToElementText(curTbl);
                sel.select();
                sel.execCommand("Copy");
                xlsheet.Paste();
                oXL.Visible = true;

                try {
                    var fname = oXL.Application.GetSaveAsFilename("Excel.xls", "Excel Spreadsheets (*.xls), *.xls");
                } catch (e) {
                    print("Nested catch caught " + e);
                } finally {
                    oWB.SaveAs(fname);
                    oWB.Close(savechanges = false);
                    oXL.Quit();
                    oXL = null;
                    idTmr = window.setInterval("Cleanup();", 1);
                }

            }
            else {
                tableToExcel(tableid)
            }
        }
        function Cleanup() {
            window.clearInterval(idTmr);
            CollectGarbage();
        }
        var tableToExcel = (function () {
            var uri = 'data:application/vnd.ms-excel;base64,',
                template = '<html><head><meta charset="UTF-8"></head><body><table>{table}</table></body></html>',
                base64 = function (s) { return window.btoa(unescape(encodeURIComponent(s))) },
                format = function (s, c) {
                    return s.replace(/{(\w+)}/g,
                        function (m, p) { return c[p]; })
                }
            return function (table, name) {
                if (!table.nodeType) table = document.getElementById(table)
                var ctx = { worksheet: name || 'Worksheet', table: table.innerHTML }
                window.location.href = uri + base64(format(template, ctx))
            }
        })()
    </script>
